#!/usr/bin/env python
# -*- coding:utf-8 -*-

# file:__init__.py.py
# author:JackieX
# datetime:2022-02-06 14:28
# software: PyCharm
""""
   定义应用初始化过程
"""
from flask import Flask
from .models import db
from .setting import Settings


# 定义创建app的方法
def create_app(run_mode):
    """
    创建flask的应用对象
    :param run_mode: string 配置模式的名字  （"develop", "product", "test"）
    :return: flask app对象
    """
    app = Flask(__name__)

    # 根据配置模式的名字获取配置参数的类
    app.config.from_object(Settings.get_setting(run_mode))

    # 使用app初始化db
    db.init_app(app)

    # 调用resource层中定义的方法，初始化所有路由(注册)蓝图
    from .api_1_0 import init_router
    init_router(app)

    return app
